﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

public class PackEquipMgr
{
    private readonly Dictionary<long, Equip> Equips;

    public PackEquipMgr()
    {
        Equips = new Dictionary<long, Equip>();
    }

    /// <summary>
    /// 添加
    /// </summary>
    public void Add(Equip equip)
    {
        Equips.Add(equip.id, equip);
    }

    /// <summary>
    /// 获取
    /// </summary>
    public bool TryGet(long equipId, out Equip equip)
    {
        return Equips.TryGetValue(equipId, out equip);
    }

    /// <summary>
    /// 移除
    /// </summary>
    public void Remove(long equipId)
    {
        Equips.Remove(equipId);
    }

    /// <summary>
    /// 获取所有
    /// </summary>
    public List<Equip> GetAll()
    {
        return Equips.Values.ToList();
    }

    /// <summary>
    /// 获取装备
    /// </summary>
    public List<Equip> GetEquipListByType(int equipType)
    {
        List<Equip> equips = new List<Equip>();
        foreach (Equip equip in Equips.Values)
        {
            if (equip.InitEquip != null && equip.InitEquip.kind == equipType)
            {
                equips.Add(equip);
            }
        }

        return equips;
    }
}
